A user of a computing device may interact with various applications supported by the computing device. Such applications can include almost any conceivable functionality such as word processing, spreadsheet applications, and photo-editing applications, among others. The user may generate a print job from any of the applications. Whether the user computer is freestanding or networked the print job is directed to a print spooler.
The spooler contains one or more print drivers or filters which render the print job into a format recognizable by a print device. The spooler then sends the print job to the print device. If the filter processing the print job fails or freezes-up for any reason, the filter also often causes the other filters and the spooler to fail. Such instances can be especially acute where the spooler is receiving multiple print jobs which all fail because of the failure of a single filter. Dozens or hundreds of print jobs may be lost in some instances where a failed filter causes a system failure. For example, if the spooler happens to be in a networked print server the spooler could be processing hundreds of print jobs on multiple filters for multiple print devices. The failure of a single filter can cause the failure of all of the print jobs in the system. At least for these reasons, system configurations which have the filter or filters as a component of the spooler are not conducive to system reliability or flexibility.